/* tex/primitives_data.rs
Copyright (C) 2024-2025, Wenjian Chern.

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>. */


/* !! The list may not be complete. */

use std::collections::{HashMap, HashSet};

bitflags! {
    // non-exhaustive!
    #[derive(Debug, Clone, Copy, PartialEq)]
    pub struct Primitives: u8 {
        const KNUTHTEX  = 0b10000000;
        const ETEX      = 0b01000000;
        const PDFTEX    = 0b00100000;
        const XETEX     = 0b00010000;
        const LUATEX    = 0b00001000;
        const UPTEX     = 0b00000100;

        const UNICODE_TEX = 0b00011100;
        const WIDELY_USED = 0b00111100;
    }
}

lazy_static! {
    // bits (high -- low): TeX, eTeX, pdfTeX, XeTeX, LuaTeX, upTeX, unalloc, unalloc.
    pub static ref PRIMITIVES_DATA: HashMap<&'static str, Primitives> = HashMap::from_iter([
        ("-", Primitives::from_bits_retain(0b11111100)),
        (" ", Primitives::from_bits_retain(0b11111100)),
        ("/", Primitives::from_bits_retain(0b11111100)),
        ("above", Primitives::from_bits_retain(0b11111100)),
        ("abovedisplayshortskip", Primitives::from_bits_retain(0b11111100)),
        ("abovedisplayskip", Primitives::from_bits_retain(0b11111100)),
        ("abovewithdelims", Primitives::from_bits_retain(0b11111100)),
        ("accent", Primitives::from_bits_retain(0b11111100)),
        ("adjdemerits", Primitives::from_bits_retain(0b11111100)),
        ("adjustspacing", Primitives::from_bits_retain(0b00001000)),
        ("advance", Primitives::from_bits_retain(0b11111100)),
        ("afterassignment", Primitives::from_bits_retain(0b11111100)),
        ("aftergroup", Primitives::from_bits_retain(0b11111100)),
        ("alignmark", Primitives::from_bits_retain(0b00001000)),
        ("aligntab", Primitives::from_bits_retain(0b00001000)),
        ("atop", Primitives::from_bits_retain(0b11111100)),
        ("atopwithdelims", Primitives::from_bits_retain(0b11111100)),
        ("attribute", Primitives::from_bits_retain(0b00001000)),
        ("attributedef", Primitives::from_bits_retain(0b00001000)),
        ("automaticdiscretionary", Primitives::from_bits_retain(0b00001000)),
        ("automatichyphenmode", Primitives::from_bits_retain(0b00001000)),
        ("automatichyphenpenalty", Primitives::from_bits_retain(0b00001000)),
        ("autospacing", Primitives::from_bits_retain(0b00000100)),
        ("autoxspacing", Primitives::from_bits_retain(0b00000100)),
        ("badness", Primitives::from_bits_retain(0b11111100)),
        ("baselineskip", Primitives::from_bits_retain(0b11111100)),
        ("batchmode", Primitives::from_bits_retain(0b11111100)),
        ("begincsname", Primitives::from_bits_retain(0b00001000)),
        ("begingroup", Primitives::from_bits_retain(0b11111100)),
        ("beginL", Primitives::from_bits_retain(0b01110100)),
        ("beginR", Primitives::from_bits_retain(0b01110100)),
        ("belowdisplayshortskip", Primitives::from_bits_retain(0b11111100)),
        ("belowdisplayskip", Primitives::from_bits_retain(0b11111100)),
        ("binoppenalty", Primitives::from_bits_retain(0b11111100)),
        ("bodydir", Primitives::from_bits_retain(0b00001000)),
        ("bodydirection", Primitives::from_bits_retain(0b00001000)),
        ("botmark", Primitives::from_bits_retain(0b11111100)),
        ("botmarks", Primitives::from_bits_retain(0b01111100)),
        ("boundary", Primitives::from_bits_retain(0b00001000)),
        ("box", Primitives::from_bits_retain(0b11111100)),
        ("boxdir", Primitives::from_bits_retain(0b00001000)),
        ("boxdirection", Primitives::from_bits_retain(0b00001000)),
        ("boxmaxdepth", Primitives::from_bits_retain(0b11111100)),
        ("breakafterdirmode", Primitives::from_bits_retain(0b00001000)),
        ("brokenpenalty", Primitives::from_bits_retain(0b11111100)),
        ("catcode", Primitives::from_bits_retain(0b11111100)),
        ("catcodetable", Primitives::from_bits_retain(0b00001000)),
        ("char", Primitives::from_bits_retain(0b11111100)),
        ("chardef", Primitives::from_bits_retain(0b11111100)),
        ("charsubdef", Primitives::from_bits_retain(0b00000100)),
        ("charsubdefmax", Primitives::from_bits_retain(0b00000100)),
        ("cleaders", Primitives::from_bits_retain(0b11111100)),
        ("clearmarks", Primitives::from_bits_retain(0b00001000)),
        ("closein", Primitives::from_bits_retain(0b11111100)),
        ("closeout", Primitives::from_bits_retain(0b11111100)),
        ("clubpenalties", Primitives::from_bits_retain(0b01111100)),
        ("clubpenalty", Primitives::from_bits_retain(0b11111100)),
        ("compoundhyphenmode", Primitives::from_bits_retain(0b00001000)),
        ("copy", Primitives::from_bits_retain(0b11111100)),
        ("copyfont", Primitives::from_bits_retain(0b00001000)),
        ("count", Primitives::from_bits_retain(0b11111100)),
        ("countdef", Primitives::from_bits_retain(0b11111100)),
        ("cr", Primitives::from_bits_retain(0b11111100)),
        ("crampeddisplaystyle", Primitives::from_bits_retain(0b00001000)),
        ("crampedscriptscriptstyle", Primitives::from_bits_retain(0b00001000)),
        ("crampedscriptstyle", Primitives::from_bits_retain(0b00001000)),
        ("crampedtextstyle", Primitives::from_bits_retain(0b00001000)),
        ("crcr", Primitives::from_bits_retain(0b11111100)),
        ("csname", Primitives::from_bits_retain(0b11111100)),
        ("csstring", Primitives::from_bits_retain(0b00001000)),
        ("currentgrouplevel", Primitives::from_bits_retain(0b01111100)),
        ("currentgrouptype", Primitives::from_bits_retain(0b01111100)),
        ("currentifbranch", Primitives::from_bits_retain(0b01111100)),
        ("currentiflevel", Primitives::from_bits_retain(0b01111100)),
        ("currentiftype", Primitives::from_bits_retain(0b01111100)),
        ("day", Primitives::from_bits_retain(0b11111100)),
        ("deadcycles", Primitives::from_bits_retain(0b11111100)),
        ("def", Primitives::from_bits_retain(0b11111100)),
        ("defaulthyphenchar", Primitives::from_bits_retain(0b11111100)),
        ("defaultskewchar", Primitives::from_bits_retain(0b11111100)),
        ("delcode", Primitives::from_bits_retain(0b11111100)),
        ("delimiter", Primitives::from_bits_retain(0b11111100)),
        ("delimiterfactor", Primitives::from_bits_retain(0b11111100)),
        ("delimitershortfall", Primitives::from_bits_retain(0b11111100)),
        ("detokenize", Primitives::from_bits_retain(0b01111100)),
        ("dimen", Primitives::from_bits_retain(0b11111100)),
        ("dimendef", Primitives::from_bits_retain(0b11111100)),
        ("dimexpr", Primitives::from_bits_retain(0b01111100)),
        ("directlua", Primitives::from_bits_retain(0b00001000)),
        ("disablecjktoken", Primitives::from_bits_retain(0b00000100)),
        ("discretionary", Primitives::from_bits_retain(0b11111100)),
        ("displayindent", Primitives::from_bits_retain(0b11111100)),
        ("displaylimits", Primitives::from_bits_retain(0b11111100)),
        ("displaystyle", Primitives::from_bits_retain(0b11111100)),
        ("displaywidowpenalties", Primitives::from_bits_retain(0b01111100)),
        ("displaywidowpenalty", Primitives::from_bits_retain(0b11111100)),
        ("displaywidth", Primitives::from_bits_retain(0b11111100)),
        ("divide", Primitives::from_bits_retain(0b11111100)),
        ("doublehyphendemerits", Primitives::from_bits_retain(0b11111100)),
        ("dp", Primitives::from_bits_retain(0b11111100)),
        ("draftmode", Primitives::from_bits_retain(0b00001000)),
        ("dtou", Primitives::from_bits_retain(0b00000100)),
        ("dump", Primitives::from_bits_retain(0b11111100)),
        ("dviextension", Primitives::from_bits_retain(0b00001000)),
        ("dvifeedback", Primitives::from_bits_retain(0b00001000)),
        ("dvivariable", Primitives::from_bits_retain(0b00001000)),
        ("edef", Primitives::from_bits_retain(0b11111100)),
        ("efcode", Primitives::from_bits_retain(0b00101000)),
        ("else", Primitives::from_bits_retain(0b11111100)),
        ("emergencystretch", Primitives::from_bits_retain(0b11111100)),
        ("enablecjktoken", Primitives::from_bits_retain(0b00000100)),
        ("end", Primitives::from_bits_retain(0b11111100)),
        ("endcsname", Primitives::from_bits_retain(0b11111100)),
        ("endgroup", Primitives::from_bits_retain(0b11111100)),
        ("endinput", Primitives::from_bits_retain(0b11111100)),
        ("endL", Primitives::from_bits_retain(0b01110100)),
        ("endlinechar", Primitives::from_bits_retain(0b11111100)),
        ("endlocalcontrol", Primitives::from_bits_retain(0b00001000)),
        ("endR", Primitives::from_bits_retain(0b01110100)),
        ("epTeXinputencoding", Primitives::from_bits_retain(0b00000100)),
        ("epTeXversion", Primitives::from_bits_retain(0b00000100)),
        ("eqno", Primitives::from_bits_retain(0b11111100)),
        ("errhelp", Primitives::from_bits_retain(0b11111100)),
        ("errmessage", Primitives::from_bits_retain(0b11111100)),
        ("errorcontextlines", Primitives::from_bits_retain(0b11111100)),
        ("errorstopmode", Primitives::from_bits_retain(0b11111100)),
        ("escapechar", Primitives::from_bits_retain(0b11111100)),
        ("eTeXminorversion", Primitives::from_bits_retain(0b00001000)),
        ("eTeXrevision", Primitives::from_bits_retain(0b01111100)),
        ("eTeXVersion", Primitives::from_bits_retain(0b00001000)),
        ("eTeXversion", Primitives::from_bits_retain(0b01111100)),
        ("etoksapp", Primitives::from_bits_retain(0b00001000)),
        ("etokspre", Primitives::from_bits_retain(0b00001000)),
        ("euc", Primitives::from_bits_retain(0b00000100)),
        ("everycr", Primitives::from_bits_retain(0b11111100)),
        ("everydisplay", Primitives::from_bits_retain(0b11111100)),
        ("everyeof", Primitives::from_bits_retain(0b01111100)),
        ("everyhbox", Primitives::from_bits_retain(0b11111100)),
        ("everyjob", Primitives::from_bits_retain(0b11111100)),
        ("everymath", Primitives::from_bits_retain(0b11111100)),
        ("everypar", Primitives::from_bits_retain(0b11111100)),
        ("everyvbox", Primitives::from_bits_retain(0b11111100)),
        ("exceptionpenalty", Primitives::from_bits_retain(0b00001000)),
        ("exhyphenchar", Primitives::from_bits_retain(0b00001000)),
        ("exhyphenpenalty", Primitives::from_bits_retain(0b11111100)),
        ("expandafter", Primitives::from_bits_retain(0b11111100)),
        ("expanded", Primitives::from_bits_retain(0b00111100)),
        ("expandglyphsinfont", Primitives::from_bits_retain(0b00001000)),
        ("explicitdiscretionary", Primitives::from_bits_retain(0b00001000)),
        ("explicithyphenpenalty", Primitives::from_bits_retain(0b00001000)),
        ("fam", Primitives::from_bits_retain(0b11111100)),
        ("fi", Primitives::from_bits_retain(0b11111100)),
        ("finalhyphendemerits", Primitives::from_bits_retain(0b11111100)),
        ("firstmark", Primitives::from_bits_retain(0b11111100)),
        ("firstmarks", Primitives::from_bits_retain(0b01111100)),
        ("firstvalidlanguage", Primitives::from_bits_retain(0b00001000)),
        ("fixupboxesmode", Primitives::from_bits_retain(0b00001000)),
        ("floatingpenalty", Primitives::from_bits_retain(0b11111100)),
        ("font", Primitives::from_bits_retain(0b11111100)),
        ("fontchardp", Primitives::from_bits_retain(0b01111100)),
        ("fontcharht", Primitives::from_bits_retain(0b01111100)),
        ("fontcharic", Primitives::from_bits_retain(0b01111100)),
        ("fontcharwd", Primitives::from_bits_retain(0b01111100)),
        ("fontdimen", Primitives::from_bits_retain(0b11111100)),
        ("fontid", Primitives::from_bits_retain(0b00001000)),
        ("fontname", Primitives::from_bits_retain(0b11111100)),
        ("forcecjktoken", Primitives::from_bits_retain(0b00000100)),
        ("formatname", Primitives::from_bits_retain(0b00001000)),
        ("futurelet", Primitives::from_bits_retain(0b11111100)),
        ("gdef", Primitives::from_bits_retain(0b11111100)),
        ("gleaders", Primitives::from_bits_retain(0b00001000)),
        ("glet", Primitives::from_bits_retain(0b00001000)),
        ("global", Primitives::from_bits_retain(0b11111100)),
        ("globaldefs", Primitives::from_bits_retain(0b11111100)),
        ("glueexpr", Primitives::from_bits_retain(0b01111100)),
        ("glueshrink", Primitives::from_bits_retain(0b01111100)),
        ("glueshrinkorder", Primitives::from_bits_retain(0b01111100)),
        ("gluestretch", Primitives::from_bits_retain(0b01111100)),
        ("gluestretchorder", Primitives::from_bits_retain(0b01111100)),
        ("gluetomu", Primitives::from_bits_retain(0b01111100)),
        ("gtoksapp", Primitives::from_bits_retain(0b00001000)),
        ("gtokspre", Primitives::from_bits_retain(0b00001000)),
        ("halign", Primitives::from_bits_retain(0b11111100)),
        ("hangafter", Primitives::from_bits_retain(0b11111100)),
        ("hangindent", Primitives::from_bits_retain(0b11111100)),
        ("hbadness", Primitives::from_bits_retain(0b11111100)),
        ("hbox", Primitives::from_bits_retain(0b11111100)),
        ("hfi", Primitives::from_bits_retain(0b00000100)),
        ("hfil", Primitives::from_bits_retain(0b11111100)),
        ("hfill", Primitives::from_bits_retain(0b11111100)),
        ("hfilneg", Primitives::from_bits_retain(0b11111100)),
        ("hfuzz", Primitives::from_bits_retain(0b11111100)),
        ("hjcode", Primitives::from_bits_retain(0b00001000)),
        ("hoffset", Primitives::from_bits_retain(0b11111100)),
        ("holdinginserts", Primitives::from_bits_retain(0b11111100)),
        ("hpack", Primitives::from_bits_retain(0b00001000)),
        ("hrule", Primitives::from_bits_retain(0b11111100)),
        ("hsize", Primitives::from_bits_retain(0b11111100)),
        ("hskip", Primitives::from_bits_retain(0b11111100)),
        ("hss", Primitives::from_bits_retain(0b11111100)),
        ("ht", Primitives::from_bits_retain(0b11111100)),
        ("hyphenation", Primitives::from_bits_retain(0b11111100)),
        ("hyphenationbounds", Primitives::from_bits_retain(0b00001000)),
        ("hyphenationmin", Primitives::from_bits_retain(0b00001000)),
        ("hyphenchar", Primitives::from_bits_retain(0b11111100)),
        ("hyphenpenalty", Primitives::from_bits_retain(0b11111100)),
        ("hyphenpenaltymode", Primitives::from_bits_retain(0b00001000)),
        ("if", Primitives::from_bits_retain(0b11111100)),
        ("ifabsdim", Primitives::from_bits_retain(0b00001000)),
        ("ifabsnum", Primitives::from_bits_retain(0b00001000)),
        ("ifcase", Primitives::from_bits_retain(0b11111100)),
        ("ifcat", Primitives::from_bits_retain(0b11111100)),
        ("ifcondition", Primitives::from_bits_retain(0b00001000)),
        ("ifcsname", Primitives::from_bits_retain(0b01111100)),
        ("ifdbox", Primitives::from_bits_retain(0b00000100)),
        ("ifddir", Primitives::from_bits_retain(0b00000100)),
        ("ifdefined", Primitives::from_bits_retain(0b01111100)),
        ("ifdim", Primitives::from_bits_retain(0b11111100)),
        ("ifeof", Primitives::from_bits_retain(0b11111100)),
        ("iffalse", Primitives::from_bits_retain(0b11111100)),
        ("iffontchar", Primitives::from_bits_retain(0b01111100)),
        ("ifhbox", Primitives::from_bits_retain(0b11111100)),
        ("ifhmode", Primitives::from_bits_retain(0b11111100)),
        ("ifincsname", Primitives::from_bits_retain(0b00111000)),
        ("ifinner", Primitives::from_bits_retain(0b11111100)),
        ("ifmbox", Primitives::from_bits_retain(0b00000100)),
        ("ifmdir", Primitives::from_bits_retain(0b00000100)),
        ("ifmmode", Primitives::from_bits_retain(0b11111100)),
        ("ifnum", Primitives::from_bits_retain(0b11111100)),
        ("ifodd", Primitives::from_bits_retain(0b11111100)),
        ("ifpdfabsdim", Primitives::from_bits_retain(0b00100000)),
        ("ifpdfabsnum", Primitives::from_bits_retain(0b00100000)),
        ("ifpdfprimitive", Primitives::from_bits_retain(0b00100100)),
        ("ifprimitive", Primitives::from_bits_retain(0b00011000)),
        ("iftbox", Primitives::from_bits_retain(0b00000100)),
        ("iftdir", Primitives::from_bits_retain(0b00000100)),
        ("iftrue", Primitives::from_bits_retain(0b11111100)),
        ("ifvbox", Primitives::from_bits_retain(0b11111100)),
        ("ifvmode", Primitives::from_bits_retain(0b11111100)),
        ("ifvoid", Primitives::from_bits_retain(0b11111100)),
        ("ifx", Primitives::from_bits_retain(0b11111100)),
        ("ifybox", Primitives::from_bits_retain(0b00000100)),
        ("ifydir", Primitives::from_bits_retain(0b00000100)),
        ("ignoreligaturesinfont", Primitives::from_bits_retain(0b00001000)),
        ("ignorespaces", Primitives::from_bits_retain(0b11111100)),
        ("immediate", Primitives::from_bits_retain(0b11111100)),
        ("immediateassigned", Primitives::from_bits_retain(0b00001000)),
        ("immediateassignment", Primitives::from_bits_retain(0b00001000)),
        ("indent", Primitives::from_bits_retain(0b11111100)),
        ("inhibitglue", Primitives::from_bits_retain(0b00000100)),
        ("inhibitxspcode", Primitives::from_bits_retain(0b00000100)),
        ("initcatcodetable", Primitives::from_bits_retain(0b00001000)),
        ("input", Primitives::from_bits_retain(0b11111100)),
        ("inputlineno", Primitives::from_bits_retain(0b11111100)),
        ("insert", Primitives::from_bits_retain(0b11111100)),
        ("insertht", Primitives::from_bits_retain(0b00001000)),
        ("insertpenalties", Primitives::from_bits_retain(0b11111100)),
        ("interactionmode", Primitives::from_bits_retain(0b01111100)),
        ("interlinepenalties", Primitives::from_bits_retain(0b01111100)),
        ("interlinepenalty", Primitives::from_bits_retain(0b11111100)),
        ("jcharwidowpenalty", Primitives::from_bits_retain(0b00000100)),
        ("jfam", Primitives::from_bits_retain(0b00000100)),
        ("jfont", Primitives::from_bits_retain(0b00000100)),
        ("jis", Primitives::from_bits_retain(0b00000100)),
        ("jobname", Primitives::from_bits_retain(0b11111100)),
        ("kanjiskip", Primitives::from_bits_retain(0b00000100)),
        ("kansuji", Primitives::from_bits_retain(0b00000100)),
        ("kansujichar", Primitives::from_bits_retain(0b00000100)),
        ("kcatcode", Primitives::from_bits_retain(0b00000100)),
        ("kchar", Primitives::from_bits_retain(0b00000100)),
        ("kchardef", Primitives::from_bits_retain(0b00000100)),
        ("kern", Primitives::from_bits_retain(0b11111100)),
        ("knaccode", Primitives::from_bits_retain(0b00100000)),
        ("knbccode", Primitives::from_bits_retain(0b00100000)),
        ("knbscode", Primitives::from_bits_retain(0b00100000)),
        ("kuten", Primitives::from_bits_retain(0b00000100)),
        ("language", Primitives::from_bits_retain(0b11111100)),
        ("lastbox", Primitives::from_bits_retain(0b11111100)),
        ("lastkern", Primitives::from_bits_retain(0b11111100)),
        ("lastlinefit", Primitives::from_bits_retain(0b01111100)),
        ("lastnamedcs", Primitives::from_bits_retain(0b00001000)),
        ("lastnodechar", Primitives::from_bits_retain(0b00000100)),
        ("lastnodesubtype", Primitives::from_bits_retain(0b00000100)),
        ("lastnodetype", Primitives::from_bits_retain(0b01111100)),
        ("lastpenalty", Primitives::from_bits_retain(0b11111100)),
        ("lastsavedboxresourceindex", Primitives::from_bits_retain(0b00001000)),
        ("lastsavedimageresourceindex", Primitives::from_bits_retain(0b00001000)),
        ("lastsavedimageresourcepages", Primitives::from_bits_retain(0b00001000)),
        ("lastskip", Primitives::from_bits_retain(0b11111100)),
        ("lastxpos", Primitives::from_bits_retain(0b00001000)),
        ("lastypos", Primitives::from_bits_retain(0b00001000)),
        ("latelua", Primitives::from_bits_retain(0b00001000)),
        ("lateluafunction", Primitives::from_bits_retain(0b00001000)),
        ("lccode", Primitives::from_bits_retain(0b11111100)),
        ("leaders", Primitives::from_bits_retain(0b11111100)),
        ("left", Primitives::from_bits_retain(0b11111100)),
        ("leftghost", Primitives::from_bits_retain(0b00001000)),
        ("lefthyphenmin", Primitives::from_bits_retain(0b11111100)),
        ("leftmarginkern", Primitives::from_bits_retain(0b00111000)),
        ("leftskip", Primitives::from_bits_retain(0b11111100)),
        ("leqno", Primitives::from_bits_retain(0b11111100)),
        ("let", Primitives::from_bits_retain(0b11111100)),
        ("letcharcode", Primitives::from_bits_retain(0b00001000)),
        ("letterspacefont", Primitives::from_bits_retain(0b00101000)),
        ("limits", Primitives::from_bits_retain(0b11111100)),
        ("linedir", Primitives::from_bits_retain(0b00001000)),
        ("linedirection", Primitives::from_bits_retain(0b00001000)),
        ("linepenalty", Primitives::from_bits_retain(0b11111100)),
        ("lineskip", Primitives::from_bits_retain(0b11111100)),
        ("lineskiplimit", Primitives::from_bits_retain(0b11111100)),
        ("localbrokenpenalty", Primitives::from_bits_retain(0b00001000)),
        ("localinterlinepenalty", Primitives::from_bits_retain(0b00001000)),
        ("localleftbox", Primitives::from_bits_retain(0b00001000)),
        ("localrightbox", Primitives::from_bits_retain(0b00001000)),
        ("long", Primitives::from_bits_retain(0b11111100)),
        ("looseness", Primitives::from_bits_retain(0b11111100)),
        ("lower", Primitives::from_bits_retain(0b11111100)),
        ("lowercase", Primitives::from_bits_retain(0b11111100)),
        ("lpcode", Primitives::from_bits_retain(0b00111000)),
        ("luabytecode", Primitives::from_bits_retain(0b00001000)),
        ("luabytecodecall", Primitives::from_bits_retain(0b00001000)),
        ("luacopyinputnodes", Primitives::from_bits_retain(0b00001000)),
        ("luadef", Primitives::from_bits_retain(0b00001000)),
        ("luaescapestring", Primitives::from_bits_retain(0b00001000)),
        ("luafunction", Primitives::from_bits_retain(0b00001000)),
        ("luafunctioncall", Primitives::from_bits_retain(0b00001000)),
        ("luatexbanner", Primitives::from_bits_retain(0b00001000)),
        ("luatexrevision", Primitives::from_bits_retain(0b00001000)),
        ("luatexversion", Primitives::from_bits_retain(0b00001000)),
        ("mag", Primitives::from_bits_retain(0b11111100)),
        ("mark", Primitives::from_bits_retain(0b11111100)),
        ("marks", Primitives::from_bits_retain(0b01111100)),
        ("mathaccent", Primitives::from_bits_retain(0b11111100)),
        ("mathbin", Primitives::from_bits_retain(0b11111100)),
        ("mathchar", Primitives::from_bits_retain(0b11111100)),
        ("mathchardef", Primitives::from_bits_retain(0b11111100)),
        ("mathchoice", Primitives::from_bits_retain(0b11111100)),
        ("mathclose", Primitives::from_bits_retain(0b11111100)),
        ("mathcode", Primitives::from_bits_retain(0b11111100)),
        ("mathdelimitersmode", Primitives::from_bits_retain(0b00001000)),
        ("mathdir", Primitives::from_bits_retain(0b00001000)),
        ("mathdirection", Primitives::from_bits_retain(0b00001000)),
        ("mathdisplayskipmode", Primitives::from_bits_retain(0b00001000)),
        ("matheqnogapstep", Primitives::from_bits_retain(0b00001000)),
        ("mathflattenmode", Primitives::from_bits_retain(0b00001000)),
        ("mathinner", Primitives::from_bits_retain(0b11111100)),
        ("mathitalicsmode", Primitives::from_bits_retain(0b00001000)),
        ("mathnolimitsmode", Primitives::from_bits_retain(0b00001000)),
        ("mathop", Primitives::from_bits_retain(0b11111100)),
        ("mathopen", Primitives::from_bits_retain(0b11111100)),
        ("mathoption", Primitives::from_bits_retain(0b00001000)),
        ("mathord", Primitives::from_bits_retain(0b11111100)),
        ("mathpenaltiesmode", Primitives::from_bits_retain(0b00001000)),
        ("mathpunct", Primitives::from_bits_retain(0b11111100)),
        ("mathrel", Primitives::from_bits_retain(0b11111100)),
        ("mathrulesfam", Primitives::from_bits_retain(0b00001000)),
        ("mathrulesmode", Primitives::from_bits_retain(0b00001000)),
        ("mathrulethicknessmode", Primitives::from_bits_retain(0b00001000)),
        ("mathscriptboxmode", Primitives::from_bits_retain(0b00001000)),
        ("mathscriptcharmode", Primitives::from_bits_retain(0b00001000)),
        ("mathscriptsmode", Primitives::from_bits_retain(0b00001000)),
        ("mathstyle", Primitives::from_bits_retain(0b00001000)),
        ("mathsurround", Primitives::from_bits_retain(0b11111100)),
        ("mathsurroundmode", Primitives::from_bits_retain(0b00001000)),
        ("mathsurroundskip", Primitives::from_bits_retain(0b00001000)),
        ("maxdeadcycles", Primitives::from_bits_retain(0b11111100)),
        ("maxdepth", Primitives::from_bits_retain(0b11111100)),
        ("mdfivesum", Primitives::from_bits_retain(0b00010000)),
        ("meaning", Primitives::from_bits_retain(0b11111100)),
        ("medmuskip", Primitives::from_bits_retain(0b11111100)),
        ("message", Primitives::from_bits_retain(0b11111100)),
        ("middle", Primitives::from_bits_retain(0b01111100)),
        ("mkern", Primitives::from_bits_retain(0b11111100)),
        ("month", Primitives::from_bits_retain(0b11111100)),
        ("moveleft", Primitives::from_bits_retain(0b11111100)),
        ("moveright", Primitives::from_bits_retain(0b11111100)),
        ("mskip", Primitives::from_bits_retain(0b11111100)),
        ("muexpr", Primitives::from_bits_retain(0b01111100)),
        ("multiply", Primitives::from_bits_retain(0b11111100)),
        ("muskip", Primitives::from_bits_retain(0b11111100)),
        ("muskipdef", Primitives::from_bits_retain(0b11111100)),
        ("mutoglue", Primitives::from_bits_retain(0b01111100)),
        ("newlinechar", Primitives::from_bits_retain(0b11111100)),
        ("noalign", Primitives::from_bits_retain(0b11111100)),
        ("noautospacing", Primitives::from_bits_retain(0b00000100)),
        ("noautoxspacing", Primitives::from_bits_retain(0b00000100)),
        ("noboundary", Primitives::from_bits_retain(0b11111100)),
        ("noexpand", Primitives::from_bits_retain(0b11111100)),
        ("nohrule", Primitives::from_bits_retain(0b00001000)),
        ("noindent", Primitives::from_bits_retain(0b11111100)),
        ("nokerns", Primitives::from_bits_retain(0b00001000)),
        ("noligs", Primitives::from_bits_retain(0b00001000)),
        ("nolimits", Primitives::from_bits_retain(0b11111100)),
        ("nonscript", Primitives::from_bits_retain(0b11111100)),
        ("nonstopmode", Primitives::from_bits_retain(0b11111100)),
        ("normaldeviate", Primitives::from_bits_retain(0b00011000)),
        ("nospaces", Primitives::from_bits_retain(0b00001000)),
        ("novrule", Primitives::from_bits_retain(0b00001000)),
        ("nulldelimiterspace", Primitives::from_bits_retain(0b11111100)),
        ("nullfont", Primitives::from_bits_retain(0b11111100)),
        ("number", Primitives::from_bits_retain(0b11111100)),
        ("numexpr", Primitives::from_bits_retain(0b01111100)),
        ("odelcode", Primitives::from_bits_retain(0b00000100)),
        ("odelimiter", Primitives::from_bits_retain(0b00000100)),
        ("omathaccent", Primitives::from_bits_retain(0b00000100)),
        ("omathchar", Primitives::from_bits_retain(0b00000100)),
        ("omathchardef", Primitives::from_bits_retain(0b00000100)),
        ("omathcode", Primitives::from_bits_retain(0b00000100)),
        ("omit", Primitives::from_bits_retain(0b11111100)),
        ("openin", Primitives::from_bits_retain(0b11111100)),
        ("openout", Primitives::from_bits_retain(0b11111100)),
        ("or", Primitives::from_bits_retain(0b11111100)),
        ("oradical", Primitives::from_bits_retain(0b00000100)),
        ("outer", Primitives::from_bits_retain(0b11111100)),
        ("output", Primitives::from_bits_retain(0b11111100)),
        ("outputbox", Primitives::from_bits_retain(0b00001000)),
        ("outputmode", Primitives::from_bits_retain(0b00001000)),
        ("outputpenalty", Primitives::from_bits_retain(0b11111100)),
        ("over", Primitives::from_bits_retain(0b11111100)),
        ("overfullrule", Primitives::from_bits_retain(0b11111100)),
        ("overline", Primitives::from_bits_retain(0b11111100)),
        ("overwithdelims", Primitives::from_bits_retain(0b11111100)),
        ("pagebottomoffset", Primitives::from_bits_retain(0b00001000)),
        ("pagedepth", Primitives::from_bits_retain(0b11111100)),
        ("pagedir", Primitives::from_bits_retain(0b00001000)),
        ("pagedirection", Primitives::from_bits_retain(0b00001000)),
        ("pagediscards", Primitives::from_bits_retain(0b01111100)),
        ("pagefilllstretch", Primitives::from_bits_retain(0b11111100)),
        ("pagefillstretch", Primitives::from_bits_retain(0b11111100)),
        ("pagefilstretch", Primitives::from_bits_retain(0b11111100)),
        ("pagefistretch", Primitives::from_bits_retain(0b00000100)),
        ("pagegoal", Primitives::from_bits_retain(0b11111100)),
        ("pageheight", Primitives::from_bits_retain(0b00001000)),
        ("pageleftoffset", Primitives::from_bits_retain(0b00001000)),
        ("pagerightoffset", Primitives::from_bits_retain(0b00001000)),
        ("pageshrink", Primitives::from_bits_retain(0b11111100)),
        ("pagestretch", Primitives::from_bits_retain(0b11111100)),
        ("pagetopoffset", Primitives::from_bits_retain(0b00001000)),
        ("pagetotal", Primitives::from_bits_retain(0b11111100)),
        ("pagewidth", Primitives::from_bits_retain(0b00001000)),
        ("par", Primitives::from_bits_retain(0b11111100)),
        ("pardir", Primitives::from_bits_retain(0b00001000)),
        ("pardirection", Primitives::from_bits_retain(0b00001000)),
        ("parfillskip", Primitives::from_bits_retain(0b11111100)),
        ("parindent", Primitives::from_bits_retain(0b11111100)),
        ("parshape", Primitives::from_bits_retain(0b11111100)),
        ("parshapedimen", Primitives::from_bits_retain(0b01111100)),
        ("parshapeindent", Primitives::from_bits_retain(0b01111100)),
        ("parshapelength", Primitives::from_bits_retain(0b01111100)),
        ("parskip", Primitives::from_bits_retain(0b11111100)),
        ("partokencontext", Primitives::from_bits_retain(0b00111100)),
        ("partokenname", Primitives::from_bits_retain(0b00111100)),
        ("patterns", Primitives::from_bits_retain(0b11111100)),
        ("pausing", Primitives::from_bits_retain(0b11111100)),
        ("pdfadjustinterwordglue", Primitives::from_bits_retain(0b00100000)),
        ("pdfadjustspacing", Primitives::from_bits_retain(0b00100000)),
        ("pdfannot", Primitives::from_bits_retain(0b00100000)),
        ("pdfappendkern", Primitives::from_bits_retain(0b00100000)),
        ("pdfcatalog", Primitives::from_bits_retain(0b00100000)),
        ("pdfcolorstack", Primitives::from_bits_retain(0b00100000)),
        ("pdfcolorstackinit", Primitives::from_bits_retain(0b00100000)),
        ("pdfcompresslevel", Primitives::from_bits_retain(0b00100000)),
        ("pdfcopyfont", Primitives::from_bits_retain(0b00100000)),
        ("pdfcreationdate", Primitives::from_bits_retain(0b00100100)),
        ("pdfdecimaldigits", Primitives::from_bits_retain(0b00100000)),
        ("pdfdest", Primitives::from_bits_retain(0b00100000)),
        ("pdfdestmargin", Primitives::from_bits_retain(0b00100000)),
        ("pdfdraftmode", Primitives::from_bits_retain(0b00100000)),
        ("pdfeachlinedepth", Primitives::from_bits_retain(0b00100000)),
        ("pdfeachlineheight", Primitives::from_bits_retain(0b00100000)),
        ("pdfelapsedtime", Primitives::from_bits_retain(0b00100100)),
        ("pdfendlink", Primitives::from_bits_retain(0b00100000)),
        ("pdfendthread", Primitives::from_bits_retain(0b00100000)),
        ("pdfescapehex", Primitives::from_bits_retain(0b00100000)),
        ("pdfescapename", Primitives::from_bits_retain(0b00100000)),
        ("pdfescapestring", Primitives::from_bits_retain(0b00100000)),
        ("pdfextension", Primitives::from_bits_retain(0b00001000)),
        ("pdffakespace", Primitives::from_bits_retain(0b00100000)),
        ("pdffeedback", Primitives::from_bits_retain(0b00001000)),
        ("pdffiledump", Primitives::from_bits_retain(0b00100100)),
        ("pdffilemoddate", Primitives::from_bits_retain(0b00100100)),
        ("pdffilesize", Primitives::from_bits_retain(0b00100100)),
        ("pdffirstlineheight", Primitives::from_bits_retain(0b00100000)),
        ("pdffontattr", Primitives::from_bits_retain(0b00100000)),
        ("pdffontexpand", Primitives::from_bits_retain(0b00100000)),
        ("pdffontname", Primitives::from_bits_retain(0b00100000)),
        ("pdffontobjnum", Primitives::from_bits_retain(0b00100000)),
        ("pdffontsize", Primitives::from_bits_retain(0b00100000)),
        ("pdfforcepagebox", Primitives::from_bits_retain(0b00100000)),
        ("pdfgamma", Primitives::from_bits_retain(0b00100000)),
        ("pdfgentounicode", Primitives::from_bits_retain(0b00100000)),
        ("pdfglyphtounicode", Primitives::from_bits_retain(0b00100000)),
        ("pdfglyphtounicode", Primitives::from_bits_retain(0b00100000)),
        ("pdfhorigin", Primitives::from_bits_retain(0b00100000)),
        ("pdfignoreddimen", Primitives::from_bits_retain(0b00100000)),
        ("pdfimageapplygamma", Primitives::from_bits_retain(0b00100000)),
        ("pdfimagegamma", Primitives::from_bits_retain(0b00100000)),
        ("pdfimagehicolor", Primitives::from_bits_retain(0b00100000)),
        ("pdfimageresolution", Primitives::from_bits_retain(0b00100000)),
        ("pdfincludechars", Primitives::from_bits_retain(0b00100000)),
        ("pdfinclusioncopyfonts", Primitives::from_bits_retain(0b00100000)),
        ("pdfinclusionerrorlevel", Primitives::from_bits_retain(0b00100000)),
        ("pdfinfo", Primitives::from_bits_retain(0b00100000)),
        ("pdfinfoomitdate", Primitives::from_bits_retain(0b00100000)),
        ("pdfinsertht", Primitives::from_bits_retain(0b00100000)),
        ("pdfinterwordspaceoff", Primitives::from_bits_retain(0b00100000)),
        ("pdfinterwordspaceoff", Primitives::from_bits_retain(0b00100000)),
        ("pdfinterwordspaceon", Primitives::from_bits_retain(0b00100000)),
        ("pdfinterwordspaceon", Primitives::from_bits_retain(0b00100000)),
        ("pdflastannot", Primitives::from_bits_retain(0b00100000)),
        ("pdflastlinedepth", Primitives::from_bits_retain(0b00100000)),
        ("pdflastlink", Primitives::from_bits_retain(0b00100000)),
        ("pdflastmatch", Primitives::from_bits_retain(0b00100000)),
        ("pdflastobj", Primitives::from_bits_retain(0b00100000)),
        ("pdflastxform", Primitives::from_bits_retain(0b00100000)),
        ("pdflastximage", Primitives::from_bits_retain(0b00100000)),
        ("pdflastximagecolordepth", Primitives::from_bits_retain(0b00100000)),
        ("pdflastximagepages", Primitives::from_bits_retain(0b00100000)),
        ("pdflastxpos", Primitives::from_bits_retain(0b00110100)),
        ("pdflastypos", Primitives::from_bits_retain(0b00110100)),
        ("pdflinkmargin", Primitives::from_bits_retain(0b00100000)),
        ("pdfliteral", Primitives::from_bits_retain(0b00100000)),
        ("pdfmajorversion", Primitives::from_bits_retain(0b00100000)),
        ("pdfmapfile", Primitives::from_bits_retain(0b00100000)),
        ("pdfmapline", Primitives::from_bits_retain(0b00100000)),
        ("pdfmatch", Primitives::from_bits_retain(0b00100000)),
        ("pdfmdfivesum", Primitives::from_bits_retain(0b00100100)),
        ("pdfminorversion", Primitives::from_bits_retain(0b00100000)),
        ("pdfmovechars", Primitives::from_bits_retain(0b00100000)),
        ("pdfnames", Primitives::from_bits_retain(0b00100000)),
        ("pdfnobuiltintounicode", Primitives::from_bits_retain(0b00100000)),
        ("pdfnoligatures", Primitives::from_bits_retain(0b00100000)),
        ("pdfnormaldeviate", Primitives::from_bits_retain(0b00100100)),
        ("pdfobj", Primitives::from_bits_retain(0b00100000)),
        ("pdfobjcompresslevel", Primitives::from_bits_retain(0b00100000)),
        ("pdfomitcharset", Primitives::from_bits_retain(0b00100000)),
        ("pdfomitinfodict", Primitives::from_bits_retain(0b00100000)),
        ("pdfomitprocset", Primitives::from_bits_retain(0b00100000)),
        ("pdfoutline", Primitives::from_bits_retain(0b00100000)),
        ("pdfoutput", Primitives::from_bits_retain(0b00100000)),
        ("pdfpageattr", Primitives::from_bits_retain(0b00100000)),
        ("pdfpagebox", Primitives::from_bits_retain(0b00100000)),
        ("pdfpageheight", Primitives::from_bits_retain(0b00110100)),
        ("pdfpageref", Primitives::from_bits_retain(0b00100000)),
        ("pdfpageresources", Primitives::from_bits_retain(0b00100000)),
        ("pdfpagesattr", Primitives::from_bits_retain(0b00100000)),
        ("pdfpagewidth", Primitives::from_bits_retain(0b00110100)),
        ("pdfpkmode", Primitives::from_bits_retain(0b00100000)),
        ("pdfpkresolution", Primitives::from_bits_retain(0b00100000)),
        ("pdfprependkern", Primitives::from_bits_retain(0b00100000)),
        ("pdfprimitive", Primitives::from_bits_retain(0b00100100)),
        ("pdfprotrudechars", Primitives::from_bits_retain(0b00100000)),
        ("pdfpxdimen", Primitives::from_bits_retain(0b00100000)),
        ("pdfrandomseed", Primitives::from_bits_retain(0b00100100)),
        ("pdfrefobj", Primitives::from_bits_retain(0b00100000)),
        ("pdfrefxform", Primitives::from_bits_retain(0b00100000)),
        ("pdfrefximage", Primitives::from_bits_retain(0b00100000)),
        ("pdfresettimer", Primitives::from_bits_retain(0b00100100)),
        ("pdfrestore", Primitives::from_bits_retain(0b00100000)),
        ("pdfretval", Primitives::from_bits_retain(0b00100000)),
        ("pdfsave", Primitives::from_bits_retain(0b00100000)),
        ("pdfsavepos", Primitives::from_bits_retain(0b00110100)),
        ("pdfsetmatrix", Primitives::from_bits_retain(0b00100000)),
        ("pdfsetrandomseed", Primitives::from_bits_retain(0b00100100)),
        ("pdfshellescape", Primitives::from_bits_retain(0b00100100)),
        ("pdfsnaprefpoint", Primitives::from_bits_retain(0b00100000)),
        ("pdfsnapy", Primitives::from_bits_retain(0b00100000)),
        ("pdfsnapycomp", Primitives::from_bits_retain(0b00100000)),
        ("pdfstartlink", Primitives::from_bits_retain(0b00100000)),
        ("pdfstartthread", Primitives::from_bits_retain(0b00100000)),
        ("pdfstrcmp", Primitives::from_bits_retain(0b00100100)),
        ("pdfsuppressptexinfo", Primitives::from_bits_retain(0b00100000)),
        ("pdfsuppresswarningdupdest", Primitives::from_bits_retain(0b00100000)),
        ("pdfsuppresswarningdupmap", Primitives::from_bits_retain(0b00100000)),
        ("pdfsuppresswarningpagegroup", Primitives::from_bits_retain(0b00100000)),
        ("pdftexbanner", Primitives::from_bits_retain(0b00100000)),
        ("pdftexrevision", Primitives::from_bits_retain(0b00100000)),
        ("pdftexversion", Primitives::from_bits_retain(0b00100000)),
        ("pdfthread", Primitives::from_bits_retain(0b00100000)),
        ("pdfthreadmargin", Primitives::from_bits_retain(0b00100000)),
        ("pdftracingfonts", Primitives::from_bits_retain(0b00100000)),
        ("pdftrailer", Primitives::from_bits_retain(0b00100000)),
        ("pdftrailerid", Primitives::from_bits_retain(0b00100000)),
        ("pdfunescapehex", Primitives::from_bits_retain(0b00100000)),
        ("pdfuniformdeviate", Primitives::from_bits_retain(0b00100100)),
        ("pdfuniqueresname", Primitives::from_bits_retain(0b00100000)),
        ("pdfvariable", Primitives::from_bits_retain(0b00001000)),
        ("pdfvorigin", Primitives::from_bits_retain(0b00100000)),
        ("pdfxform", Primitives::from_bits_retain(0b00100000)),
        ("pdfxformname", Primitives::from_bits_retain(0b00100000)),
        ("pdfximage", Primitives::from_bits_retain(0b00100000)),
        ("pdfximagebbox", Primitives::from_bits_retain(0b00100000)),
        ("penalty", Primitives::from_bits_retain(0b11111100)),
        ("postbreakpenalty", Primitives::from_bits_retain(0b00000100)),
        ("postdisplaypenalty", Primitives::from_bits_retain(0b11111100)),
        ("postexhyphenchar", Primitives::from_bits_retain(0b00001000)),
        ("posthyphenchar", Primitives::from_bits_retain(0b00001000)),
        ("prebinoppenalty", Primitives::from_bits_retain(0b00001000)),
        ("prebreakpenalty", Primitives::from_bits_retain(0b00000100)),
        ("predisplaydirection", Primitives::from_bits_retain(0b01111100)),
        ("predisplaygapfactor", Primitives::from_bits_retain(0b00001000)),
        ("predisplaypenalty", Primitives::from_bits_retain(0b11111100)),
        ("predisplaysize", Primitives::from_bits_retain(0b11111100)),
        ("preexhyphenchar", Primitives::from_bits_retain(0b00001000)),
        ("prehyphenchar", Primitives::from_bits_retain(0b00001000)),
        ("prerelpenalty", Primitives::from_bits_retain(0b00001000)),
        ("pretolerance", Primitives::from_bits_retain(0b11111100)),
        ("prevdepth", Primitives::from_bits_retain(0b11111100)),
        ("prevgraf", Primitives::from_bits_retain(0b11111100)),
        ("primitive", Primitives::from_bits_retain(0b00011000)),
        ("protected", Primitives::from_bits_retain(0b01111100)),
        ("protrudechars", Primitives::from_bits_retain(0b00001000)),
        ("protrusionboundary", Primitives::from_bits_retain(0b00001000)),
        ("ptexminorversion", Primitives::from_bits_retain(0b00000100)),
        ("ptexrevision", Primitives::from_bits_retain(0b00000100)),
        ("ptexversion", Primitives::from_bits_retain(0b00000100)),
        ("pxdimen", Primitives::from_bits_retain(0b00001000)),
        ("quitvmode", Primitives::from_bits_retain(0b00101000)),
        ("radical", Primitives::from_bits_retain(0b11111100)),
        ("raise", Primitives::from_bits_retain(0b11111100)),
        ("randomseed", Primitives::from_bits_retain(0b00011000)),
        ("read", Primitives::from_bits_retain(0b11111100)),
        ("readline", Primitives::from_bits_retain(0b01111100)),
        ("relax", Primitives::from_bits_retain(0b11111100)),
        ("relpenalty", Primitives::from_bits_retain(0b11111100)),
        ("right", Primitives::from_bits_retain(0b11111100)),
        ("rightghost", Primitives::from_bits_retain(0b00001000)),
        ("righthyphenmin", Primitives::from_bits_retain(0b11111100)),
        ("rightmarginkern", Primitives::from_bits_retain(0b00111000)),
        ("rightskip", Primitives::from_bits_retain(0b11111100)),
        ("romannumeral", Primitives::from_bits_retain(0b11111100)),
        ("rpcode", Primitives::from_bits_retain(0b00111000)),
        ("saveboxresource", Primitives::from_bits_retain(0b00001000)),
        ("savecatcodetable", Primitives::from_bits_retain(0b00001000)),
        ("saveimageresource", Primitives::from_bits_retain(0b00001000)),
        ("savepos", Primitives::from_bits_retain(0b00001000)),
        ("savinghyphcodes", Primitives::from_bits_retain(0b01111100)),
        ("savingvdiscards", Primitives::from_bits_retain(0b01111100)),
        ("scantextokens", Primitives::from_bits_retain(0b00001000)),
        ("scantokens", Primitives::from_bits_retain(0b01111100)),
        ("scriptbaselineshiftfactor", Primitives::from_bits_retain(0b00000100)),
        ("scriptfont", Primitives::from_bits_retain(0b11111100)),
        ("scriptscriptbaselineshiftfactor", Primitives::from_bits_retain(0b00000100)),
        ("scriptscriptfont", Primitives::from_bits_retain(0b11111100)),
        ("scriptscriptstyle", Primitives::from_bits_retain(0b11111100)),
        ("scriptspace", Primitives::from_bits_retain(0b11111100)),
        ("scriptstyle", Primitives::from_bits_retain(0b11111100)),
        ("scrollmode", Primitives::from_bits_retain(0b11111100)),
        ("setbox", Primitives::from_bits_retain(0b11111100)),
        ("setfontid", Primitives::from_bits_retain(0b00001000)),
        ("setlanguage", Primitives::from_bits_retain(0b11111100)),
        ("setrandomseed", Primitives::from_bits_retain(0b00011000)),
        ("sfcode", Primitives::from_bits_retain(0b11111100)),
        ("shapemode", Primitives::from_bits_retain(0b00001000)),
        ("shbscode", Primitives::from_bits_retain(0b00100000)),
        ("shellescape", Primitives::from_bits_retain(0b00010000)),
        ("shipout", Primitives::from_bits_retain(0b11111100)),
        ("show", Primitives::from_bits_retain(0b11111100)),
        ("showbox", Primitives::from_bits_retain(0b11111100)),
        ("showboxbreadth", Primitives::from_bits_retain(0b11111100)),
        ("showboxdepth", Primitives::from_bits_retain(0b11111100)),
        ("showgroups", Primitives::from_bits_retain(0b01111100)),
        ("showifs", Primitives::from_bits_retain(0b01111100)),
        ("showlists", Primitives::from_bits_retain(0b11111100)),
        ("showmode", Primitives::from_bits_retain(0b00000100)),
        ("showstream", Primitives::from_bits_retain(0b00111100)),
        ("showthe", Primitives::from_bits_retain(0b11111100)),
        ("showtokens", Primitives::from_bits_retain(0b01111100)),
        ("sjis", Primitives::from_bits_retain(0b00000100)),
        ("skewchar", Primitives::from_bits_retain(0b11111100)),
        ("skip", Primitives::from_bits_retain(0b11111100)),
        ("skipdef", Primitives::from_bits_retain(0b11111100)),
        ("spacefactor", Primitives::from_bits_retain(0b11111100)),
        ("spaceskip", Primitives::from_bits_retain(0b11111100)),
        ("span", Primitives::from_bits_retain(0b11111100)),
        ("special", Primitives::from_bits_retain(0b11111100)),
        ("splitbotmark", Primitives::from_bits_retain(0b11111100)),
        ("splitbotmarks", Primitives::from_bits_retain(0b01111100)),
        ("splitdiscards", Primitives::from_bits_retain(0b01111100)),
        ("splitfirstmark", Primitives::from_bits_retain(0b11111100)),
        ("splitfirstmarks", Primitives::from_bits_retain(0b01111100)),
        ("splitmaxdepth", Primitives::from_bits_retain(0b11111100)),
        ("splittopskip", Primitives::from_bits_retain(0b11111100)),
        ("stbscode", Primitives::from_bits_retain(0b00100000)),
        ("strcmp", Primitives::from_bits_retain(0b00010000)),
        ("string", Primitives::from_bits_retain(0b11111100)),
        ("suppressfontnotfounderror", Primitives::from_bits_retain(0b00011000)),
        ("suppressifcsnameerror", Primitives::from_bits_retain(0b00001000)),
        ("suppresslongerror", Primitives::from_bits_retain(0b00001000)),
        ("suppressmathparerror", Primitives::from_bits_retain(0b00001000)),
        ("suppressoutererror", Primitives::from_bits_retain(0b00001000)),
        ("suppressprimitiveerror", Primitives::from_bits_retain(0b00001000)),
        ("synctex", Primitives::from_bits_retain(0b01111100)),
        ("tabskip", Primitives::from_bits_retain(0b11111100)),
        ("tagcode", Primitives::from_bits_retain(0b00101000)),
        ("tate", Primitives::from_bits_retain(0b00000100)),
        ("tbaselineshift", Primitives::from_bits_retain(0b00000100)),
        ("textbaselineshiftfactor", Primitives::from_bits_retain(0b00000100)),
        ("textdir", Primitives::from_bits_retain(0b00001000)),
        ("textdirection", Primitives::from_bits_retain(0b00001000)),
        ("textfont", Primitives::from_bits_retain(0b11111100)),
        ("textstyle", Primitives::from_bits_retain(0b11111100)),
        ("TeXXeTstate", Primitives::from_bits_retain(0b01110100)),
        ("tfont", Primitives::from_bits_retain(0b00000100)),
        ("the", Primitives::from_bits_retain(0b11111100)),
        ("thickmuskip", Primitives::from_bits_retain(0b11111100)),
        ("thinmuskip", Primitives::from_bits_retain(0b11111100)),
        ("time", Primitives::from_bits_retain(0b11111100)),
        ("toks", Primitives::from_bits_retain(0b11111100)),
        ("toksapp", Primitives::from_bits_retain(0b00001000)),
        ("toksdef", Primitives::from_bits_retain(0b11111100)),
        ("tokspre", Primitives::from_bits_retain(0b00001000)),
        ("tolerance", Primitives::from_bits_retain(0b11111100)),
        ("topmark", Primitives::from_bits_retain(0b11111100)),
        ("topmarks", Primitives::from_bits_retain(0b01111100)),
        ("topskip", Primitives::from_bits_retain(0b11111100)),
        ("tpack", Primitives::from_bits_retain(0b00001000)),
        ("tracingassigns", Primitives::from_bits_retain(0b01111100)),
        ("tracingcharsubdef", Primitives::from_bits_retain(0b00000100)),
        ("tracingcommands", Primitives::from_bits_retain(0b11111100)),
        ("tracingfonts", Primitives::from_bits_retain(0b00001000)),
        ("tracinggroups", Primitives::from_bits_retain(0b01111100)),
        ("tracingifs", Primitives::from_bits_retain(0b01111100)),
        ("tracinglostchars", Primitives::from_bits_retain(0b11111100)),
        ("tracinglostchars", Primitives::from_bits_retain(0b00111100)),
        ("tracingmacros", Primitives::from_bits_retain(0b11111100)),
        ("tracingnesting", Primitives::from_bits_retain(0b01111100)),
        ("tracingonline", Primitives::from_bits_retain(0b11111100)),
        ("tracingoutput", Primitives::from_bits_retain(0b11111100)),
        ("tracingpages", Primitives::from_bits_retain(0b11111100)),
        ("tracingparagraphs", Primitives::from_bits_retain(0b11111100)),
        ("tracingrestores", Primitives::from_bits_retain(0b11111100)),
        ("tracingscantokens", Primitives::from_bits_retain(0b01111100)),
        ("tracingstacklevels", Primitives::from_bits_retain(0b00111100)),
        ("tracingstats", Primitives::from_bits_retain(0b11111100)),
        ("uccode", Primitives::from_bits_retain(0b11111100)),
        ("Uchar", Primitives::from_bits_retain(0b00011100)),
        ("Ucharcat", Primitives::from_bits_retain(0b00010100)),
        ("uchyph", Primitives::from_bits_retain(0b11111100)),
        ("ucs", Primitives::from_bits_retain(0b00000100)),
        ("Udelcode", Primitives::from_bits_retain(0b00011000)),
        ("Udelcodenum", Primitives::from_bits_retain(0b00011000)),
        ("Udelimiter", Primitives::from_bits_retain(0b00011000)),
        ("Udelimiterover", Primitives::from_bits_retain(0b00001000)),
        ("Udelimiterunder", Primitives::from_bits_retain(0b00001000)),
        ("Uhextensible", Primitives::from_bits_retain(0b00001000)),
        ("Uleft", Primitives::from_bits_retain(0b00001000)),
        ("Umathaccent", Primitives::from_bits_retain(0b00011000)),
        ("Umathaxis", Primitives::from_bits_retain(0b00001000)),
        ("Umathbinbinspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathbinclosespacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathbininnerspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathbinopenspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathbinopspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathbinordspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathbinpunctspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathbinrelspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathchar", Primitives::from_bits_retain(0b00011000)),
        ("Umathcharclass", Primitives::from_bits_retain(0b00001000)),
        ("Umathchardef", Primitives::from_bits_retain(0b00011000)),
        ("Umathcharfam", Primitives::from_bits_retain(0b00001000)),
        ("Umathcharnum", Primitives::from_bits_retain(0b00011000)),
        ("Umathcharnumdef", Primitives::from_bits_retain(0b00011000)),
        ("Umathcharslot", Primitives::from_bits_retain(0b00001000)),
        ("Umathclosebinspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathcloseclosespacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathcloseinnerspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathcloseopenspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathcloseopspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathcloseordspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathclosepunctspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathcloserelspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathcode", Primitives::from_bits_retain(0b00011000)),
        ("Umathcodenum", Primitives::from_bits_retain(0b00011000)),
        ("Umathconnectoroverlapmin", Primitives::from_bits_retain(0b00001000)),
        ("Umathfractiondelsize", Primitives::from_bits_retain(0b00001000)),
        ("Umathfractiondenomdown", Primitives::from_bits_retain(0b00001000)),
        ("Umathfractiondenomvgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathfractionnumup", Primitives::from_bits_retain(0b00001000)),
        ("Umathfractionnumvgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathfractionrule", Primitives::from_bits_retain(0b00001000)),
        ("Umathinnerbinspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathinnerclosespacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathinnerinnerspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathinneropenspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathinneropspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathinnerordspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathinnerpunctspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathinnerrelspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathlimitabovebgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathlimitabovekern", Primitives::from_bits_retain(0b00001000)),
        ("Umathlimitabovevgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathlimitbelowbgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathlimitbelowkern", Primitives::from_bits_retain(0b00001000)),
        ("Umathlimitbelowvgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathnolimitsubfactor", Primitives::from_bits_retain(0b00001000)),
        ("Umathnolimitsupfactor", Primitives::from_bits_retain(0b00001000)),
        ("Umathopbinspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopclosespacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopenbinspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopenclosespacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopeninnerspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopenopenspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopenopspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopenordspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopenpunctspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopenrelspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathoperatorsize", Primitives::from_bits_retain(0b00001000)),
        ("Umathopinnerspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopopenspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopopspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathopordspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathoppunctspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathoprelspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathordbinspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathordclosespacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathordinnerspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathordopenspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathordopspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathordordspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathordpunctspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathordrelspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathoverbarkern", Primitives::from_bits_retain(0b00001000)),
        ("Umathoverbarrule", Primitives::from_bits_retain(0b00001000)),
        ("Umathoverbarvgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathoverdelimiterbgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathoverdelimitervgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathpunctbinspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathpunctclosespacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathpunctinnerspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathpunctopenspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathpunctopspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathpunctordspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathpunctpunctspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathpunctrelspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathquad", Primitives::from_bits_retain(0b00001000)),
        ("Umathradicaldegreeafter", Primitives::from_bits_retain(0b00001000)),
        ("Umathradicaldegreebefore", Primitives::from_bits_retain(0b00001000)),
        ("Umathradicaldegreeraise", Primitives::from_bits_retain(0b00001000)),
        ("Umathradicalkern", Primitives::from_bits_retain(0b00001000)),
        ("Umathradicalrule", Primitives::from_bits_retain(0b00001000)),
        ("Umathradicalvgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathrelbinspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathrelclosespacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathrelinnerspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathrelopenspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathrelopspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathrelordspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathrelpunctspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathrelrelspacing", Primitives::from_bits_retain(0b00001000)),
        ("Umathskewedfractionhgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathskewedfractionvgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathspaceafterscript", Primitives::from_bits_retain(0b00001000)),
        ("Umathstackdenomdown", Primitives::from_bits_retain(0b00001000)),
        ("Umathstacknumup", Primitives::from_bits_retain(0b00001000)),
        ("Umathstackvgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathsubshiftdown", Primitives::from_bits_retain(0b00001000)),
        ("Umathsubshiftdrop", Primitives::from_bits_retain(0b00001000)),
        ("Umathsubsupshiftdown", Primitives::from_bits_retain(0b00001000)),
        ("Umathsubsupvgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathsubtopmax", Primitives::from_bits_retain(0b00001000)),
        ("Umathsupbottommin", Primitives::from_bits_retain(0b00001000)),
        ("Umathsupshiftdrop", Primitives::from_bits_retain(0b00001000)),
        ("Umathsupshiftup", Primitives::from_bits_retain(0b00001000)),
        ("Umathsupsubbottommax", Primitives::from_bits_retain(0b00001000)),
        ("Umathunderbarkern", Primitives::from_bits_retain(0b00001000)),
        ("Umathunderbarrule", Primitives::from_bits_retain(0b00001000)),
        ("Umathunderbarvgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathunderdelimiterbgap", Primitives::from_bits_retain(0b00001000)),
        ("Umathunderdelimitervgap", Primitives::from_bits_retain(0b00001000)),
        ("Umiddle", Primitives::from_bits_retain(0b00001000)),
        ("underline", Primitives::from_bits_retain(0b11111100)),
        ("unexpanded", Primitives::from_bits_retain(0b01111100)),
        ("unhbox", Primitives::from_bits_retain(0b11111100)),
        ("unhcopy", Primitives::from_bits_retain(0b11111100)),
        ("uniformdeviate", Primitives::from_bits_retain(0b00011000)),
        ("unkern", Primitives::from_bits_retain(0b11111100)),
        ("unless", Primitives::from_bits_retain(0b01111100)),
        ("Unosubscript", Primitives::from_bits_retain(0b00001000)),
        ("Unosuperscript", Primitives::from_bits_retain(0b00001000)),
        ("unpenalty", Primitives::from_bits_retain(0b11111100)),
        ("unskip", Primitives::from_bits_retain(0b11111100)),
        ("unvbox", Primitives::from_bits_retain(0b11111100)),
        ("unvcopy", Primitives::from_bits_retain(0b11111100)),
        ("Uoverdelimiter", Primitives::from_bits_retain(0b00001000)),
        ("uppercase", Primitives::from_bits_retain(0b11111100)),
        ("uptexrevision", Primitives::from_bits_retain(0b00000100)),
        ("uptexversion", Primitives::from_bits_retain(0b00000100)),
        ("Uradical", Primitives::from_bits_retain(0b00011000)),
        ("Uright", Primitives::from_bits_retain(0b00001000)),
        ("Uroot", Primitives::from_bits_retain(0b00001000)),
        ("useboxresource", Primitives::from_bits_retain(0b00001000)),
        ("useimageresource", Primitives::from_bits_retain(0b00001000)),
        ("Uskewed", Primitives::from_bits_retain(0b00001000)),
        ("Uskewedwithdelims", Primitives::from_bits_retain(0b00001000)),
        ("Ustack", Primitives::from_bits_retain(0b00001000)),
        ("Ustartdisplaymath", Primitives::from_bits_retain(0b00001000)),
        ("Ustartmath", Primitives::from_bits_retain(0b00001000)),
        ("Ustopdisplaymath", Primitives::from_bits_retain(0b00001000)),
        ("Ustopmath", Primitives::from_bits_retain(0b00001000)),
        ("Usubscript", Primitives::from_bits_retain(0b00001000)),
        ("Usuperscript", Primitives::from_bits_retain(0b00001000)),
        ("Uunderdelimiter", Primitives::from_bits_retain(0b00001000)),
        ("Uvextensible", Primitives::from_bits_retain(0b00001000)),
        ("vadjust", Primitives::from_bits_retain(0b11111100)),
        ("valign", Primitives::from_bits_retain(0b11111100)),
        ("vbadness", Primitives::from_bits_retain(0b11111100)),
        ("vbox", Primitives::from_bits_retain(0b11111100)),
        ("vcenter", Primitives::from_bits_retain(0b11111100)),
        ("vfi", Primitives::from_bits_retain(0b00000100)),
        ("vfil", Primitives::from_bits_retain(0b11111100)),
        ("vfill", Primitives::from_bits_retain(0b11111100)),
        ("vfilneg", Primitives::from_bits_retain(0b11111100)),
        ("vfuzz", Primitives::from_bits_retain(0b11111100)),
        ("voffset", Primitives::from_bits_retain(0b11111100)),
        ("vpack", Primitives::from_bits_retain(0b00001000)),
        ("vrule", Primitives::from_bits_retain(0b11111100)),
        ("vsize", Primitives::from_bits_retain(0b11111100)),
        ("vskip", Primitives::from_bits_retain(0b11111100)),
        ("vsplit", Primitives::from_bits_retain(0b11111100)),
        ("vss", Primitives::from_bits_retain(0b11111100)),
        ("vtop", Primitives::from_bits_retain(0b11111100)),
        ("wd", Primitives::from_bits_retain(0b11111100)),
        ("widowpenalties", Primitives::from_bits_retain(0b01111100)),
        ("widowpenalty", Primitives::from_bits_retain(0b11111100)),
        ("wordboundary", Primitives::from_bits_retain(0b00001000)),
        ("write", Primitives::from_bits_retain(0b11111100)),
        ("xdef", Primitives::from_bits_retain(0b11111100)),
        ("XeTeXcharclass", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXcharglyph", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXcountfeatures", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXcountglyphs", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXcountselectors", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXcountvariations", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXdashbreakstate", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXdefaultencoding", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXdelcode", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXdelcodenum", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXdelimiter", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXfeaturecode", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXfeaturename", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXfindfeaturebyname", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXfindselectorbyname", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXfindvariationbyname", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXfirstfontchar", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXfonttype", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXgenerateactualtext", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXglyph", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXglyphbounds", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXglyphindex", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXglyphname", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXhyphenatablelength", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXinputencoding", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXinputnormalization", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXinterchartokenstate", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXinterchartoks", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXinterwordspaceshaping", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXisdefaultselector", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXisexclusivefeature", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXlastfontchar", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXlinebreaklocale", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXlinebreakpenalty", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXlinebreakskip", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXmathaccent", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXmathchar", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXmathchardef", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXmathcharnum", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXmathcharnumdef", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXmathcode", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXmathcodenum", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXOTcountfeatures", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXOTcountlanguages", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXOTcountscripts", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXOTfeaturetag", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXOTlanguagetag", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXOTscripttag", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXpdffile", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXpdfpagecount", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXpicfile", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXprotrudechars", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXradical", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXrevision", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXselectorcode", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXselectorname", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXtracingfonts", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXupwardsmode", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXuseglyphmetrics", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXvariation", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXvariationdefault", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXvariationmax", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXvariationmin", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXvariationname", Primitives::from_bits_retain(0b00010000)),
        ("XeTeXversion", Primitives::from_bits_retain(0b00010000)),
        ("xkanjiskip", Primitives::from_bits_retain(0b00000100)),
        ("xleaders", Primitives::from_bits_retain(0b11111100)),
        ("xspaceskip", Primitives::from_bits_retain(0b11111100)),
        ("xspcode", Primitives::from_bits_retain(0b00000100)),
        ("xtoksapp", Primitives::from_bits_retain(0b00001000)),
        ("xtokspre", Primitives::from_bits_retain(0b00001000)),
        ("ybaselineshift", Primitives::from_bits_retain(0b00000100)),
        ("year", Primitives::from_bits_retain(0b11111100)),
        ("yoko", Primitives::from_bits_retain(0b00000100)),
    ]);

    pub static ref LUAMETATEX_PRIMITIVES_DATA: HashSet<&'static str> = HashSet::from_iter([
"positdef", "vskip", "unless", "botmarks", "glyphtextscale", "Uoperator", "boxxoffset", "mathbackwardpenalties", "Umathuseaxis", "mathatomskip", "vsize", "localcontrolledrepeat", "detokenized", "boxstretch", "advanceby", "currentiftype", "Udelimiterunder", "variablefam", "boundary", "boxorientation", "unhcopy", "pettymuskip", "thewithoutunit", "mathsurroundmode", "output", "ifmathparameter", "-", "linebreakcriterion", "/", "emergencyleftskip", "floatdef", "insertmode", "Umathradicalextensiblebefore", "mathstackstyle", "insertdepth", "expandedrepeat", "parametercount", "unskip", "xtoks", "parameterindex", "pagelastheight", "ifhasxtoks", "boxanchor", "Umathdegreevariant", "boxyoffset", "boxmaxdepth", "muskipdef", "string", "mutoglue", "allscriptscriptstyles", "luabytecodecall", "mathsurroundskip", "toksdef", "multiplyby", "tsplit", "Umathruledepth", "ifinsert", "endlocalcontrol", "scantextokens", "floatingpenalty", "holdingmigrations", "righthyphenmin", "toksapp", "defcsname", "pageexcess", "fontchardp", "escapechar", "parpasses", "constant", "fontcharht", "Umathunderlinevariant", "Umathlimitbelowbgap", "fontcharta", "retokenized", "topmark", "subprescript", "fontcharwd", "insertstorage", "tracingexpressions", "glyphstatefield", "ignorearguments", "vsplit", "boxlimit", "everydisplay", "badness", "eufactor", "xleaders", "textfont", "autoparagraphmode", "language", "Umathnolimitsubfactor", "mathchoice", "Uoverdelimiter", "orunless", "noaligned", "glettonothing", "insertlimit", "preinlinepenalty", "spacefactormode", "semiexpand", "mathdisplayskipmode", "beginmathgroup", "mathrulesfam", "tracingadjusts", "topskip", "Ustretchedwithdelims", "abovedisplayshortskip", "tolerant", "underline", "Umathsupbottommin", "emergencyrightskip", "adjustspacingstep", "Umathlimitbelowkern", "tracinglostchars", "singlelinepenalty", "boxshift", "overloaded", "restorecatcodetable", "boxlimitate", "quitloopnow", "scaledmathaxis", "mathtolerance", "localtolerance", "localrightbox", "Umathfractionrule", "pagefillstretch", "unvcopy", "widowpenalties", "boxanchors", "splitbotmark", "scaledexheight", "alluncrampedstyles", "Umathopenupheight", "finalhyphendemerits", "protectedexpandeddetokenize", "atopwithdelims", "tracingifs", "mathgluemode", "Umathsuperscriptsnap", "Uhextensible", "tracinghyphenation", "Umathsupsubbottommax", "toscaled", "Umathflattenedaccenttopshiftup", "edefcsname", "alltextstyles", "pretolerance", "leftmarginkern", "mathforwardpenalties", "iffontchar", "linedirection", "fi", "boxfreeze", "dp", "floatexpr", "setlanguage", "ht", "mathchardef", "ifincsname", "nulldelimiterspace", "Umathdenominatorvariant", "mathcharfam", "or", "parinitleftskip", "wd", "Umathhextensiblevariant", "boxtotal", "parameterdef", "forcedrightcorrection", "insertwidth", "ifnumval", "beginlocalcontrol", "insertunbox", "initialpageskip", "formatname", "insertmaxdepth", "parfillrightskip", "atendofgrouped", "pagegoal", "advance", "localcontrolledloop", "hpenalty", "boxdirection", "protecteddetokenize", "alignmentwrapsource", "protected", "vpenalty", "catcode", "pageboundary", "Umathdictdef", "boxxmove", "endmathgroup", "topmarks", "alignmentcellsource", "lastboundary", "Ustretched", "iflastnamedcs", "scriptscriptfont", "mathcode", "mathleftclass", "letmathspacing", "unletprotected", "boxymove", "leftskip", "Umathsubtopmax", "glueexpr", "expandcstoken", "splitfirstmarks", "copymathatomrule", "mathscriptsmode", "setmathdisplaypostpenalty", "predisplaydirection", "flushmarks", "preshortinlinepenalty", "Umathsubsupshiftdown", "mathatom", "pagefilstretch", "delcode", "scriptspacebeforefactor", "ifintervalfloat", "fontname", "permanent", "brokenpenalty", "explicititaliccorrection", "localcontrolled", "Umathoverdelimiterbgap", "localleftbox", "Umathlimits", "allmainstyles", "Uunderdelimiter", "localmiddleboxbox", "hyphenationmin", "futuredef", "Uabove", "gluetomu", "tokenized", "lastkern", "Umathprimeraise", "Umathaccentbottomshiftdown", "belowdisplayshortskip", "tolerance", "mathopen", "luafunction", "endsimplegroup", "exhyphenpenalty", "scaledfontdimen", "maxdepth", "luacopyinputnodes", "lastarguments", "Umathsubshiftdistance", "allcrampedstyles", "mathmainstyle", "pagelastshrink", "abovewithdelims", "letprotected", "crampedscriptscriptstyle", "Umathskeweddelimitertolerance", "scaledmathexheight", "csstring", "hangindent", "edivide", "setmathatomrule", "boxtarget", "Umathradicaldegreeafter", "Umathaccenttopshiftup", "everyeof", "Umathsubscriptvariant", "mathcheckfencesmode", "Umathoverdelimitervariant", "noatomruling", "scantokens", "delimiterfactor", "Umathnoaxis", "luatexversion", "everyjob", "rdivideby", "xspaceskip", "globaldefs", "Umathfractionnumup", "rightmarginkern", "everypar", "mathslackmode", "scriptfont", "clubpenalties", "insertheights", "mathrulesmode", "delimiter", "copymathparent", "lastpartrigger", "explicithyphenpenalty", "pagelastfilllstretch", "mathdisplaypenaltyfactor", "savingvdiscards", "splitbotmarks", "pagelastfilstretch", "pagelastfistretch", "Umathoverdelimitervgap", "tracingfullboxes", "orphanpenalty", "doubleadjdemerits", "etokspre", "scriptspacebetweenfactor", "afterassignment", "firstmark", "boxlimitmode", "meaningasis", "currentloopnesting", "Udelcode", "wordboundary", "showtokens", "tracingmath", "supmarkmode", "tracingassigns", "dimexpr", "lineskiplimit", "lineskip", "fontspecifiedsize", "swapcsvalues", "def", "parshapedimen", "attribute", "superscript", "fam", "day", "glyphoptions", "meaningfull", "textstyle", "meaningless", "shortinlinemaththreshold", "Umathtopaccentvariant", "fontspecid", "box", "belowdisplayskip", "Umathextrasupshift", "preexhyphenchar", "Umathsubshiftdown", "ifx", "matheqnogapstep", "mathdoublescriptmode", "postshortinlinepenalty", "errmessage", "Umathfractionvariant", "exhyphenchar", "ifchknumber", "atendoffiled", "lastloopiterator", "expandparameter", "expandafter", "hfilneg", "the", "displaywidth", "Umathradicaldegreeraise", "Uright", "mathnolimitsmode", "shapingpenalty", "iffloat", "adjustspacing", "looseness", "Umathsupshiftdrop", "leaders", "luatexrevision", "Umathaccentsuperscriptpercent", "parinitrightskip", "mathbeginclass", "boxsource", "vss", "edivideby", "insertuncopy", "localinterlinepenalty", "ifhmode", "aftergrouped", "explicitdiscretionary", "normalizeparmode", "Umathchar", "ifempty", "botmark", "todimension", "ifcstok", "Udelimiterover", "currentlysetmathstyle", "detokenize", "Umathcode", "gtoksapp", "Umathradicalvariant", "displaystyle", "letmathparent", "instance", "parametermark", "givenmathstyle", "accent", "immediate", "Umathradicalextensibleafter", "allsplitstyles", "fonttextcontrol", "parametermode", "setmathspacing", "Umathfractionnumvgap", "atendofgroup", "ifmmode", "gluespecdef", "Umathprimevariant", "gtokspre", "scaledmathstyle", "parshape", "ifrelax", "Umathskewedfractionhgap", "mathcharslot", "deferred", "mathclass", "meaning", "ignoredepthcriterion", "everybeforepar", "abovedisplayskip", "everymathatom", "medmuskip", "afterassigned", "emergencystretch", "Umathdelimitershortfall", "indexofregister", "inherited", "Ustopdisplaymath", "mathdisplaymode", "quitvmode", "adjustspacingstretch", "rightskip", "setmathignore", "pardirection", "ifparameters", "tosparsedimension", "hangafter", "dimensiondef", "parshapewidth", "numexpression", "parfillleftskip", "cfcode", "automigrationmode", "crampedtextstyle", "glyphxoffset", "localrightboxbox", "mathdiscretionary", "Umathvoid", "aftergroup", "setmathprepenalty", "tomathstyle", "unboundary", "attributedef", "mathdirection", "setmathoptions", "cleaders", "romannumeral", "hbadness", "mathbin", "Umathskewedfractionvgap", "showboxbreadth", "pageextragoal", "ifvmode", "jobname", "initialtopskip", "vbadness", "patterns", "nonstopmode", "Umathoverlayaccentvariant", "errhelp", "tracinginserts", "scaledfontcharic", "predisplaypenalty", "outputbox", "glyphyscaled", "tracingpenalties", "orphanpenalties", "endlinechar", "mathinner", "lastbox", "showboxdepth", "mathlimitsmode", "scaledfontcharta", "postdisplaypenalty", "Ustopmath", "expandafterspaces", "scaledfontcharwd", "mathrel", "holdinginserts", "radical", "mathord", "prehyphenchar", "postinlinepenalty", "scriptspaceafterfactor", "glyphscriptfield", "pagetotal", "luafunctioncall", "hccode", "everycr", "spacefactorshrinklimit", "Uoverwithdelims", "adjdemerits", "mathspacingmode", "xdefcsname", "boxfinalize", "mathparentstyle", "luaescapestring", "ifmathstyle", "adjustspacingshrink", "halign", "Umathphantom", "begincsname", "mathdictproperties", "defaultskewchar", "tracingnesting", "Uatop", "errorcontextlines", "Umathradicalrule", "ifzeronum", "glyphweight", "splitmaxdepth", "glueshrinkorder", "ifcase", "pagevsize", "ifchkdimension", "errorstopmode", "noindent", "postexhyphenchar", "numericscaled", "insertpenalty", "meaningful", "tracingmacros", "ifzerofloat", "moveright", "Umathspacebeforescript", "dimexpression", "predisplaysize", "Umathstacknumup", "nosuperprescript", "glyphscriptscriptscale", "mathstack", "message", "previousloopiterator", "ifhbox", "deadcycles", "boxgeometry", "hjcode", "lettonothing", "detokened", "interlinepenalty", "realign", "mathgroupingmode", "mathpunct", "lccode", "retained", "ifdefined", "boxvadjust", "noboundary", "glyphscriptscale", "mathinlinepenaltyfactor", "luatexbanner", "Uover", "xtoksapp", "everyhbox", "Umathadapttoleft", "Ustartdisplaymath", "allunsplitstyles", "mathrightclass", "global", "Uroot", "currentloopiterator", "penalty", "tracingcommands", "scaledinterwordstretch", "Umathdelimiterovervariant", "unexpandedrepeat", "everymath", "Umathoverbarkern", "scaledinterwordshrink", "nolimits", "noalign", "Umathoperatorsize", "glyphscale", "directlua", "xtokspre", "inputlineno", "Uradical", "gdefcsname", "lastlinefit", "additionalpageskip", "tracinglevels", "parskip", "fontspecweight", "dimendef", "mathstyle", "spacefactorstretchlimit", "mathendclass", "ifvbox", "above", "glyphxscale", "automatichyphenpenalty", "gluestretchorder", "expandedendless", "spaceskip", "middle", "ifintervaldim", "clearmarks", "Umathoverbarvgap", "fontid", "Umathaccentbaseheight", "displaylimits", "pausing", "glyphyscale", "everyvbox", "ifarguments", "moveleft", "mathop", "letmathatomrule", "tracinggroups", "overloadmode", "shapingpenaltiesmode", "Umathoverbarrule", "shiftedsubscript", "tinymuskip", "glyphslant", "expandtoks", "ifabsdim", "rdivide", "Umathlimitabovebgap", "tracingpasses", "tracingalignments", "dimen", "dpack", "Umathaccentbottomovershoot", "nosubscript", "Umathstackvgap", "ifintervalnum", "currentifbranch", "forcedleftcorrection", "expand", "clubpenalty", "splittopskip", "ifcondition", "futureexpandis", "doublehyphendemerits", "pagefistretch", "lastparcontext", "ignorenestedupto", "limits", "frozen", "tohexadecimal", "futurecsname", "virtualhrule", "firstmarks", "ignorespaces", "explicitspace", "insert", "delimitershortfall", "lastnodetype", "ifodd", "ifabsnum", "letfrozen", "insertpenalties", "tracingpages", "hpack", "luadef", "vadjust", "shiftedsuperscript", "tracingmarks", "Umathbottomaccentvariant", "hkern", "Udelimited", "nospaces", "tracingonline", "cdef", "ifchkdim", "count", "Umathlimitabovekern", "glyphdatafield", "Udelimiter", "fontspecxscale", "wrapuppar", "iftok", "nohrule", "insertdistance", "char", "begingroup", "sfcode", "tracingparagraphs", "hyphenation", "Uatopwithdelims", "csactive", "marks", "localbrokenpenalty", "lastnodesubtype", "Umathfractiondelsize", "exceptionpenalty", "normalizelinemode", "hfuzz", "fontspecyscale", "Umathextrasubpreshift", "etoks", "tracingnodes", "shortinlineorphanpenalty", "beginsimplegroup", "gleaders", "hyphenchar", "tracinglists", "hyphenpenalty", "vcenter", "hfil", "thickmuskip", "mathfontcontrol", "maxdeadcycles", "skewchar", "discretionaryoptions", "boxattribute", "overfullrule", "pagelaststretch", "else", "hsize", "tocharacter", "atop", "thinmuskip", "ifnumexpression", "spacefactor", "unexpandedloop", "Umathextrasupprespace", "input", "ignorepars", "hrule", "left", "eqno", "parfillskip", "font", "linebreakoptional", "kern", "relax", "Ustartmath", "Umathdelimiterundervariant", "prevdepth", "futureexpand", "lastchkdimension", "maththreshold", "nomathchar", "expandactive", "orelse", "ifcmpdim", "ignorerest", "divideby", "batchmode", "mutable", "right", "skipdef", "setbox", "prebinoppenalty", "baselineskip", "Umathaccenttopovershoot", "mskip", "endgroup", "uchyph", "binoppenalty", "rpcode", "interlinepenalties", "endinput", "Umathpresubshiftdistance", "omit", "interactionmode", "indexofcharacter", "muexpr", "overwithdelims", "insertprogress", "unexpanded", "setmathpostpenalty", "newlinechar", "vfilneg", "time", "tpack", "mathcharclass", "skip", "unletfrozen", "span", "prevgraf", "virtualvrule", "savinghyphcodes", "vbox", "tracingstats", "year", "ifcmpnum", "mathpenaltiesmode", "currentstacksize", "ifcsname", "defaulthyphenchar", "Umathoverlinevariant", "boxadapt", "nullfont", "parshapeindent", "muskip", "vpack", "toks", "ifhastoks", "mathpretolerance", "Umathaccent", "undent", "mathatomglue", "expandedloop", "localpretolerance", "copymathspacing", "multiply", "lastpageextra", "tracingoutput", "insertbox", "firstvalidlanguage", "currentmarks", "catcodetable", "parindent", "parshapelength", "protrusionboundary", "displaywidowpenalty", "unhbox", "lefthyphenmin", "vtop", "mathaccent", "Umathspaceafterscript", "predisplaygapfactor", "showthe", "Uskewed", "pxdimen", "srule", "vfuzz", "overline", "unkern", "eofinput", "norelax", "par", "Umathyscale", "Umathxscale", "Umathvextensiblevariant", "Umathunderdelimitervgap", "Umathunderdelimitervariant", "Umathunderdelimiterbgap", "Umathunderbarvgap", "Umathunderbarrule", "Umathunderbarkern", "Umathsupshiftup", "Umathsupshiftdistance", "Umathsuperscriptvariant", "Umathsubsupvgap", "Umathsubshiftdrop", "Umathstackvariant", "Umathstackdenomdown", "Umathspacebetweenscript", "Umathruleheight", "Umathradicalvgap", "Umathradicalkern", "Umathradicaldegreebefore", "Umathexheight", "Umathquad", "Umathprimewidth", "Umathprimespaceafter", "Umathprimeshiftup", "Umathprimeshiftdrop", "Umathprimeraisecomposed", "Umathpresupshiftdistance", "Umathnumeratorvariant", "Umathnolimitsupfactor", "Umathlimitbelowvgap", "Umathlimitabovevgap", "Umathfractiondenomvgap", "Umathfractiondenomdown", "Umathflattenedaccentbottomshiftdown", "Umathflattenedaccentbaseheight", "Umathflattenedaccentbasedepth", "Umathsubscriptsnap", "Umathextrasupspace", "Umathextrasuppreshift", "Umathextrasubspace", "Umathextrasubshift", "Umathextrasubprespace", "Umathdelimiterpercent", "Umathdelimiterextendmargin", "Umathconnectoroverlapmin", "Umathaxis", "Umathaccentvariant", "Umathaccentsuperscriptdrop", "Umathaccentextendmargin", "Umathaccentbasedepth", "setmathdisplayprepenalty", "setdefaultmathcodes", "resetmathspacing", "noscript", "superprescript", "subscript", "shiftedsuperprescript", "shiftedsubprescript", "primescript", "nosuperscript", "nosubprescript", "nonscript", "crcr", "cr", "aligncontent", "aligntab", "alignmark", "savecatcodetable", "initcatcodetable", "showlists", "showifs", "showstack", "showgroups", "showcodestack", "showbox", "show", "vfill", "vfil", "raise", "lower", "splitdiscards", "pagediscards", "unvpack", "unvbox", "unhpack", "unexpandedendless", "localcontrolledendless", "localcontrol", "end", "dump", "snapshotpar", "parattribute", "indent", "associateunit", "Umathchardef", "mugluespecdef", "integerdef", "fontspecdef", "countdef", "chardef", "scrollmode", "unpenalty", "untraced", "semiprotected", "outer", "long", "immutable", "enforced", "constrained", "aliased", "mkern", "scriptstyle", "scriptscriptstyle", "crampedscriptstyle", "crampeddisplaystyle", "allscriptstyles", "allmathstyles", "alldisplaystyles", "Ustopmathmode", "Ustartmathmode", "mathclose", "localleftboxbox", "insertcopy", "hbox", "dsplit", "dbox", "copy", "Umathsource", "Umathopenupdepth", "Umathnolimits", "Umathadapttoright", "lettolastnamedcs", "letcsname", "letcharcode", "let", "gletcsname", "glet", "futurelet", "Uvextensible", "Umiddle", "Uleft", "uleaders", "shipout", "localmiddlebox", "vkern", "posthyphenchar", "hss", "hskip", "hfill", "leqno", "discretionary", "automaticdiscretionary", "xdef", "gdef", "edef", "cdefcsname", "uccode", "hmcode", "amcode", "uppercase", "lowercase", "lpcode", "fontdimen", "efcode", "Uskewedwithdelims", "Uabovewithdelims", "over", "ifzerodim", "ifvoid", "iftrue", "ifparameter", "ifnum", "ifcramped", "ifinner", "ifinalignment", "ifhastok", "ifhaschar", "ifflags", "iffalse", "ifdimval", "ifdimexpression", "ifdim", "ifchknum", "ifcat", "ifboolean", "ifabsfloat", "if", "tosparsescaled", "tointeger", "semiexpanded", "number", "meaningles", "luabytecode", "fontspecifiedname", "expanded", "scaledmathemwidth", "scaledslantperpoint", "scaledinterwordspace", "scaledextraspace", "scaledemwidth", "overshoot", "numexpr", "numericscale", "nestedloopiterator", "mathstylefontid", "mathscale", "lastskip", "lastrightclass", "lastpenalty", "lastleftclass", "lastchknumber", "lastatomclass", "glyphxscaled", "gluestretch", "glueshrink", "fontspecslant", "fontspecscale", "fontmathcontrol", "scaledfontcharht", "scaledfontchardp", "scaledfontcharba", "fontcharic", "fontcharba", "currentiflevel", "currentgrouptype", "currentgrouplevel", "boxshrink", "boxrepack", "pagestretch", "pageshrink", "pagelastfillstretch", "pagelastdepth", "pagefilllstretch", "pagedepth", "insertstoring", "insertmultiplier", "insertheight", "float", "vrule", "novrule", "valign", "splitfirstmark", "expandeddetokenize", "displaywidowpenalties", "Urooted", "noexpand", "mathdictionary", "mathchar", "mark", "quitloop", "ignoreupto", "futureexpandisap", "expandtoken", "expandedafter", "expandafterpars", " ", "endcsname", "lastnamedcs", "csname", "tokspre", "etoksapp", "glyph", "optionalboundary", "mathboundary", "atendoffile", "divide", "tabsize", "scriptspace", "mathsurround", "glyphyoffset", "emergencyextrastretch", "displayindent", "widowpenalty", "tracingrestores", "textdirection", "shownodedetails", "setfontid", "relpenalty", "protrudechars", "prerelpenalty", "outputpenalty", "month", "mathdictgroup", "linepenalty", "linebreakpasses", "hyphenationmode", "everytab", "tabskip"
    ]);
}
